package br.ufal.ic.p3.dao;

import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

import com.mysql.jdbc.PreparedStatement;

import br.ufal.ic.p3.informacao.Endereco;

public class EnderecoDao {

	private DaoUtilidades daoUtilidades;

	public EnderecoDao() {
		daoUtilidades = new DaoUtilidades();
	}

	public void inserir(Endereco endereco) {

		Connection conn = null;
		java.sql.PreparedStatement stmt = null;
		int i = 0;

		try {

			conn = daoUtilidades.getConection();
			stmt = conn
					.prepareStatement("insert into ENDERECO (rua, cidade, estado, cep) values (?,?,?,?)");
			stmt.setString(++i, endereco.getRua());
			stmt.setString(++i, endereco.getCidade());
			stmt.setObject(++i, endereco.getEstado());
			stmt.setInt(++i, endereco.getCep());
			stmt.executeUpdate();

			System.out.println("Endereco inserido com sucesso!");

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if (stmt != null) {
				try {
					stmt.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

	public int idEndereco(Endereco endereco) {

		int v = 0;
		Connection conn = null;
		java.sql.PreparedStatement stmt = null;
		try {
			conn = daoUtilidades.getConection();

			String consulta = "SELECT MAX(idEndereco) FROM ENDERECO;";
			stmt = conn.prepareStatement(consulta);
			ResultSet rs = stmt.executeQuery();

			if (rs.next()) {
				v = rs.getInt(1);
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			daoUtilidades.release(stmt);
			daoUtilidades.release(conn);
		}
		System.out.println("IdEndereco: "+v);
		return v;
	}
}
